package com.example.springboot.service;
// 导入所需的类和工具包
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;// MyBatis-Plus 分页工具类
import com.baomidou.mybatisplus.extension.service.IService;// MyBatis-Plus 通用服务层接口
import com.example.springboot.entity.DormBuild;// 宿舍楼实体类

import java.util.List;// Java 集合框架 List 接口


// 定义宿舍楼服务接口，继承 IService<DormBuild> 获得基础 CRUD 方法
public interface DormBuildService extends IService<DormBuild> {

    /**
     * 新增宿舍楼方法
     * @param dormBuild 待新增的宿舍楼实体对象
     * @return 影响的行数（成功返回 1，失败返回 0）
     */
    int addNewBuilding(DormBuild dormBuild);

    /**
     * 分页查询宿舍楼方法（支持模糊搜索）
     * @param pageNum 当前页码
     * @param pageSize 每页显示记录数
     * @param search 搜索关键词（如楼宇名称、编号等）
     * @return 分页结果对象（包含总记录数和当前页数据）
     */
    Page find(Integer pageNum, Integer pageSize, String search);

    /**
     * 更新宿舍楼信息方法
     * @param dormBuild 包含更新后数据的宿舍楼实体对象（需包含 ID）
     * @return 影响的行数（成功返回 1，失败返回 0）
     */
    int updateNewBuilding(DormBuild dormBuild);

    /**
     * 删除宿舍楼方法（根据 ID 删除）
     * @param id 待删除的宿舍楼 ID
     * @return 影响的行数（成功返回 1，失败返回 0）
     */
    int deleteBuilding(Integer id);

    /**
     * 获取所有宿舍楼 ID 列表方法
     * @return 宿舍楼 ID 列表（List<Integer>，假设实体类中 ID 为 Integer 类型）
     */
    List<DormBuild> getBuildingId();
}
